今天來聊聊 Database 資料庫
資料庫是用來存資料的
在django settings.py DATABASES 可以看到 預設是 sqlite
sqlite 不是一個關聯式資料庫,不適合用來日後開發
抱歉 這地方有誤
多半都會換常見的關聯式 mysql postgres ...等等資料庫
django 支援的資料庫
https://docs.djangoproject.com/en/2.0/ref/settings/#engine
這邊就以postgres舉例
postgres 下載連結,依作業系統選擇
https://www.postgresql.org/download/
pgadmin postgres 可視化工具
https://www.pgadmin.org/download/
可以用 pgadmin 跟 輸入指令去建立 user & DB,這邊先以pgadmin 做
在 Login/Group Roles 右鍵 Create > Login/Group Role
示意圖
name: shop
password: shoppw
密碼是在 Definition 頁籤
Privileges 頁籤 要把 Can login 改成 Yes
示意圖
按 Save
在 Databases 右鍵 Create > Database
Database: shopDB
Owner: shop (選剛剛建的)
按 Save
這樣就完成了
環境部分
要在環境裝 psycopg2,先進到 virtualenv
pip3 install psycopg2
settings.py 改連線
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'shopDB',
'USER': 'shop',
'PASSWORD': 'shoppw',
'HOST': 'localhost',
'PORT': '5432',
}
}
...
如果 run server 沒有錯,就沒有問題了
在專案目錄執行 manage.py migrate,會把djagno 需要的table 寫進資料庫
先進到 virtualenv
python manage.py migrate
看到的結果
也可以用pgadmin看
今天就到這裡,如果要 linux 指令操作 postgres 的話或是使用 mysql我也可以寫一篇